Spring Boot-এ OpenFeign ব্যবহার করে ক্লায়েন্ট তৈরি করা API-এর সাথে সহজ ও কার্যকরভাবে যোগাযোগ করার জন্য একটি সাধারণ ও জনপ্রিয় পদ্ধতি। এটি RESTful API-এর জন্য HTTP ক্লায়েন্ট তৈরি করার সময় boilerplate কোড কমিয়ে দেয় এবং ডিক্লারেটিভ পদ্ধতিতে কাজ করতে দেয়।
নিচে Spring Boot প্রজেক্টে OpenFeign ব্যবহার করে ক্লায়েন্ট তৈরি করার উদাহরণ দেয়া হলো।
1. প্রয়োজনীয় ডিপেন্ডেন্সি যোগ করা
Spring Boot-এ OpenFeign ব্যবহার করতে প্রথমে spring-cloud-starter-openfeign ডিপেন্ডেন্সি যোগ করতে হবে।
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2. OpenFeign সক্রিয় করা
প্রজেক্টে OpenFeign সক্রিয় করতে, @EnableFeignClients এনোটেশন ব্যবহার করতে হবে।
@SpringBootApplication
@EnableFeignClients
public class FeignClientApplication {
public static void main(String[] args) {
SpringApplication.run(FeignClientApplication.class, args);
}
}
3. Feign ক্লায়েন্ট ইন্টারফেস তৈরি করা
একটি ইন্টারফেস তৈরি করে @FeignClient এনোটেশন ব্যবহার করুন। নিচে একটি উদাহরণ দেয়া হলো যেখানে আমরা একটি পাবলিক REST API-এর ডেটা ফেচ করবো:
@FeignClient(name = "postClient", url = "https://jsonplaceholder.typicode.com")
public interface PostClient {
@GetMapping("/posts")
List<Post> getPosts();
@GetMapping("/posts/{id}")
Post getPostById(@PathVariable("id") Long id);
}
4. ডেটা মডেল তৈরি করা
API থেকে আসা ডেটার সাথে ম্যাচ করার জন্য একটি POJO ক্লাস তৈরি করুন।
public class Post {
private Long id;
private Long userId;
private String title;
private String body;
// Getters and Setters
}
5. Feign ক্লায়েন্ট ব্যবহার করা
একটি @RestController তৈরি করে Feign ক্লায়েন্ট ব্যবহার করা যাবে।
@RestController
@RequestMapping("/api/posts")
public class PostController {
private final PostClient postClient;
public PostController(PostClient postClient) {
this.postClient = postClient;
}
@GetMapping
public List<Post> getAllPosts() {
return postClient.getPosts();
}
@GetMapping("/{id}")
public Post getPostById(@PathVariable Long id) {
return postClient.getPostById(id);
}
}
6. অ্যাপ্লিকেশন চালানো ও API পরীক্ষা করা
Spring Boot অ্যাপ্লিকেশন চালিয়ে /api/posts এন্ডপয়েন্টে কল করলে আপনি JSONPlaceholder API থেকে ডেটা পাবেন। উদাহরণ:
GET /api/posts
Response:
[
{
"userId": 1,
"id": 1,
"title": "Sample title",
"body": "Sample body content"
},
...
]
সংক্ষেপে:
- OpenFeign ব্যবহার করলে API কলের জন্য কম কোডে ক্লায়েন্ট তৈরি করা যায়।
- এটি ডিক্লারেটিভ পদ্ধতিতে কাজ করে।
- স্প্রিং বুট প্রজেক্টে সহজে ইন্টিগ্রেট করা যায়।
আপনার Spring Boot অ্যাপ্লিকেশনের জন্য OpenFeign সহজ ও কার্যকর সমাধান!
Read more